In the early 1980's the CCITT (Consultative Committee on International Telephone and Telegraph), working under the auspices of the United Nations and the International Telephone Communications Union, developed standards for Narrow Band Integrated Services Digital Networks (N-ISDN) to allow limited capability for digital traffic in public networks. In the mid 1980's the CCITT study group began working on the communications successor referred to as the broadband ISDN (B-ISDN). The object of the B-ISDN was to eventually replace the entire public network infrastructure with a single communications fabric for all types of communications traffic. In 1988 the CCITT decided to base the B-ISDN development on ATM (Asynchronous Transfer Mode). In June, 1992 the ATM Forum was founded and it has since become the driving force in setting ATM specifications. ATM network systems, because of their high speed and capability of carrying all classes of communication traffic including voice, video and data, are commonly referred to as the communication superhighway.
ATM standards require that data be sent in small cells of fixed length. The ATM cell contains fifty-three octets (bytes) of which the first five bytes are a header (including a one-byte header check sum) and the remaining forty eight bytes are a data payload. ATM is a connection-oriented technology where a cell is routed through one or more intelligent switches each capable of interpreting the header and sending the cell onto a specific link headed toward its destination. Because of the relatively short cell length, cells from different communications can be interleaved on the same communication link. This means that ATM systems can handle time sensitive traffic, such as voice or video, since the cells are not delayed at a switching node waiting for completion of a long packet transmission as would be the case with prior packet switching technology.
Another advantage of the ATM approach is that the header includes data that specifies the priority of the cell. Time sensitive traffic is normally assigned a high priority. Computer data can be assigned a priority according to the customer's needs and willingness to pay. The priority can be used at each switching node to determine the order in which cells will be transmitted on the outgoing links.
In ATM systems, since there is often a need to delay a cell transmission waiting for higher priority traffic, an efficient buffering system is required at each switching node. Because of the high speed operation of most ATM systems, an efficient throughput can become essential.
One of the prior ATM switch designs incorporates a shared bus. This design uses cell buffering at the input port, and passes cells from an input port to an output port over a shared bus. Some method of arbitration is used to assign the shared bus capacity. Since congestion occurs at the output ports, the arbitration must not allow an input port to pass a cell to an output port which is overloaded. Subsequent cells are blocked at the input port and suffer unnecessary delay, unless a mechanism is provided to bypass the blocking cell. The shared bus must be very high speed because it is shared by many high speed inputs. Buffer usage is relatively inefficient, because each port has a separate buffer, and must provide worst case buffering. Multicast (from one to many) is difficult to achieve on a shared bus.
Another prior switch design incorporates banyan networks which consist of networks of switch nodes having two input ports and two output ports. These use a prepended address code, which is used one bit at a time to make a binary routing decision at each switch node. There are many variations, some of which require buffers at each node, as well as buffers at the output port of the nodal network. Buffering at each node is particularly inefficient, since every node must consider a worst case condition. Buffering at the output can allow a shared buffer possibility, but such shared arrangements become complicated. Subsidiary multicast networks are possible, but these further complicate the internal buffering requirements.
Crossbar switches have also been proposed for ATM switching. A crossbar switching structure is based on the provision of rectangular switches with buffering at each crosspoint. This is an implementation extension of the nodal banyan switch, but is somewhat better because it is more easily extensible. Buffer usage is inefficient, however, and multicast is not easy to achieve.
A non-blocking space switch with output buffers has also been proposed. This requires the use of a non-blocking space switch (known as a Clos Network) to route between the input ports and the output ports, with buffers on the output, either individual (inefficient) or shared. Multicast may require the further addition of buffers at the input ports. The shared buffers, if used, are complicated and look very much like a switch in their own right.
Another approach is to use shared memory switching in ATM systems. Cells are transferred into and out of a shared memory on a cell-by-cell basis. The memory becomes both the buffering and the switching medium. Incoming cells are buffered in the shared memory, and are fetched from the memory by the output ports. For multicast, the cell buffer is not reused until all the necessary output ports have taken the cell. Memory usage is efficient, but the memory must be very high speed.